Relational database systems store data in tables organized by columns and rows. The tables typically are linked together by “relationships” that simplify the storage of data and allow a user to make complex queries against the database in an efficient manner. Structured Query Language (SQL) is a standardized language for creating and operating on relational databases.
A relational database system typically stores a broad range of information. Some information is accessed on a regular basis (e.g. recent sales figures) whereas other information may only be accessed on a sporadic or rare basis (e.g. mailing addresses for clients, or older, historical sales figures).
The relative frequency of access to information in a database is typically referred to in the art as the ‘temperature’ of the data (or database). That is, data that is accessed on a regular basis is considered to be ‘hot’ data and correspondingly, data that is rarely accessed is referred to as ‘cold’ data. A database that holds both hot and cold data is referred to in the art as a ‘multi-temperature’ database.
It is known to use multiple databases to each hold data of different temperatures. This improves access time to data, as the hot databases can be optimized for frequent access, and the cold databases can be optimized for infrequent access.
However, it is increasingly necessary to hold both hot and cold data in a single database, for a variety of technical and non-technical reasons. For example, it may be necessary, due to local laws and regulations, to keep all data in a single and easily accessible location. Alternatively, it may be beneficial to hold historical sales data (typically cold data) with recent sales data (typically hot data) so that useful marketing information may be extracted from the database.